package com.ruoyi.boss.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * TV应用管理（含新增字段）对象 tv_applications
 * 
 * @author nz
 * @date 2025-08-19
 */
public class TvApplications extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 序号（自增主键） */
    private Long id;

    /** 应用名称（如：抓宝1） */
    @Excel(name = "应用名称", readConverterExp = "如=：抓宝1")
    private String appName;

    /** 应用排列顺序及操作（如上移、下移、置顶） */
    @Excel(name = "应用排列顺序及操作", readConverterExp = "如=上移、下移、置顶")
    private String appSortOperation;

    /** 应用图标路径（上传后存储路径） */
    @Excel(name = "应用图标路径", readConverterExp = "上=传后存储路径")
    private String appIcon;

    /** 应用包名（如：1.2） */
    @Excel(name = "应用包名", readConverterExp = "如=：1.2")
    private String appPackageName;

    /** 应用状态（如：启用、带启用） */
    @Excel(name = "应用状态", readConverterExp = "如=：启用、带启用")
    private String appStatus;

    /** 上传时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "上传时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date uploadTime;

    /** 操作人（如：于海超） */
    @Excel(name = "操作人", readConverterExp = "如=：于海超")
    private String operator;

    /** 版本号（对应“版本号”） */
    @Excel(name = "版本号", readConverterExp = "对=应“版本号”")
    private String versionNumber;

    /** 开始更新时间（日历插件选择） */
    @Excel(name = "开始更新时间", readConverterExp = "日=历插件选择")
    private Date startUpdateTime;

    /** 应用安装包路径（上传后存储路径） */
    @Excel(name = "应用安装包路径", readConverterExp = "上=传后存储路径")
    private String appInstallPackage;

    /** 应用图标（二次上传字段，兼容页面） */
    @Excel(name = "应用图标", readConverterExp = "二=次上传字段，兼容页面")
    private String appIconUpload;

    /** 应用状态（启用=1，禁用=0） */
    @Excel(name = "应用状态", readConverterExp = "启=用=1，禁用=0")
    private Integer appStatusRadio;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setAppName(String appName) 
    {
        this.appName = appName;
    }

    public String getAppName() 
    {
        return appName;
    }

    public void setAppSortOperation(String appSortOperation) 
    {
        this.appSortOperation = appSortOperation;
    }

    public String getAppSortOperation() 
    {
        return appSortOperation;
    }

    public void setAppIcon(String appIcon) 
    {
        this.appIcon = appIcon;
    }

    public String getAppIcon() 
    {
        return appIcon;
    }

    public void setAppPackageName(String appPackageName) 
    {
        this.appPackageName = appPackageName;
    }

    public String getAppPackageName() 
    {
        return appPackageName;
    }

    public void setAppStatus(String appStatus) 
    {
        this.appStatus = appStatus;
    }

    public String getAppStatus() 
    {
        return appStatus;
    }

    public void setUploadTime(Date uploadTime) 
    {
        this.uploadTime = uploadTime;
    }

    public Date getUploadTime() 
    {
        return uploadTime;
    }

    public void setOperator(String operator) 
    {
        this.operator = operator;
    }

    public String getOperator() 
    {
        return operator;
    }

    public void setVersionNumber(String versionNumber) 
    {
        this.versionNumber = versionNumber;
    }

    public String getVersionNumber() 
    {
        return versionNumber;
    }

    public void setStartUpdateTime(Date startUpdateTime) 
    {
        this.startUpdateTime = startUpdateTime;
    }

    public Date getStartUpdateTime() 
    {
        return startUpdateTime;
    }

    public void setAppInstallPackage(String appInstallPackage) 
    {
        this.appInstallPackage = appInstallPackage;
    }

    public String getAppInstallPackage() 
    {
        return appInstallPackage;
    }

    public void setAppIconUpload(String appIconUpload) 
    {
        this.appIconUpload = appIconUpload;
    }

    public String getAppIconUpload() 
    {
        return appIconUpload;
    }

    public void setAppStatusRadio(Integer appStatusRadio) 
    {
        this.appStatusRadio = appStatusRadio;
    }

    public Integer getAppStatusRadio() 
    {
        return appStatusRadio;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("appName", getAppName())
            .append("appSortOperation", getAppSortOperation())
            .append("appIcon", getAppIcon())
            .append("appPackageName", getAppPackageName())
            .append("appStatus", getAppStatus())
            .append("uploadTime", getUploadTime())
            .append("updateTime", getUpdateTime())
            .append("operator", getOperator())
            .append("versionNumber", getVersionNumber())
            .append("startUpdateTime", getStartUpdateTime())
            .append("appInstallPackage", getAppInstallPackage())
            .append("appIconUpload", getAppIconUpload())
            .append("appStatusRadio", getAppStatusRadio())
            .toString();
    }
}
